Private Sub CreateDatabase
	Log("Creating database...")
	Wait For (Main.DBConnector.DBCreate) Complete (Success As Boolean)
	If Not(Success) Then
		Log("Database creation failed!")
		Return
	End If
	
	Log("Creating tables...")
	Dim MDB As MiniORM
	MDB.Initialize(Main.DBOpen, Main.DBEngine)
	MDB.UseTimestamps = True
	MDB.AddAfterCreate = True
	MDB.AddAfterInsert = True
	
	MDB.Table = "tbl_category"
	MDB.Columns.Add(MDB.CreateORMColumn2(CreateMap("Name": "category_name")))
	MDB.Create
	
	MDB.Columns = Array("category_name")
	MDB.Parameters = Array As String("Hardwares")
	MDB.Insert
	MDB.Parameters = Array As String("Toys")
	MDB.Insert
	
	MDB.Table = "tbl_products"
	MDB.Columns.Add(MDB.CreateORMColumn2(CreateMap("Name": "category_id", "Type": MDB.INTEGER)))
	MDB.Columns.Add(MDB.CreateORMColumn2(CreateMap("Name": "product_code", "Length": "12")))
	MDB.Columns.Add(MDB.CreateORMColumn2(CreateMap("Name": "product_name")))
	Dim PriceColumn As ORMColumn
	PriceColumn.ColumnName = "product_price"
	PriceColumn.ColumnType = MDB.DECIMAL
	PriceColumn.ColumnLength = "10,2"
	PriceColumn.DefaultValue = "0.00"
	MDB.Columns.Add(PriceColumn)
	MDB.Foreign("category_id", "id", "tbl_category", "", "")
	MDB.Create
	
	MDB.Columns = Array("category_id", "product_code", "product_name", "product_price")
	MDB.Parameters = Array As String(2, "T001", "Teddy Bear", 99.9)
	MDB.Insert
	MDB.Parameters = Array As String(1, "H001", "Hammer", 15.75)
	MDB.Insert
	MDB.Parameters = Array As String(2, "T002", "Optimus Prime", 1000.00)
	MDB.Insert
	
	Wait For (MDB.ExecuteBatch) Complete (Success As Boolean)
	If Success Then
		Log("Database is created successfully!")
	Else
		Log("Database creation failed!")
	End If
	MDB.Close
End Sub